package jacky.lanlan.song.extension.struts.annotation;

import java.lang.annotation.ElementType;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;

/**
 * 标记了该标注的执行方法，将会在 <code>ValueStack</code> 里面创建一个领域对象。
 * <p>
 * 如果在 <code>ActionForm</code> 中有对应属性名的项，则先使用{@link PropertyEditor}处理
 * 类型转换，然后设置该领域对象对应的属性值。即，这个标注设置网页表单所映射的领域对象。
 * </p>
 * <p style="color:red;font-size:13px;"><i>
 * 执行方法可以通过调用 <code>ValueStack</code> 的 <code>getAttribute("domain")</code>
 * 来获取创建好的领域对象。
 * </i></p>
 * <p>
 * <i style="color:red">只能用于@POJOAction。</i>
 * @author Jacky.Song
 */
@Target(ElementType.METHOD)
@Retention(RetentionPolicy.RUNTIME)
public @interface Domain {
	/**
	 * 这个Action对应的表单所映射的领域对象Class。
	 */
	Class<?> value(); 
}